This invention relates to a decoder for a compressed data stream and, more particularly, to a decoder for concurrently decoding plural compressed data streams, which have been coded through an inter-frame predictive encoding such as MPEG (Motion Picture Experts Group) standards.
Firstly, description is made on a prior art decoder for a single data stream. FIG. 1 illustrates a prior art video decoder. Reference numeral 101 designates an optical disk. A video signal and an audio signal arc compressed and coded in accordance with the MPEG standards, and bit strings are recorded in the optical disk 101. The optical disk 101 is associated with a read-out circuit 102, and the read-out circuit 102 reads out the bit strings from the optical disk 101 as a single data stream. The single data stream is deinterleaved or separated, and error bits are corrected. Finally, the read-out circuit 102 transfers bit strings 121 to a memory 103 for storing the bit strings 121 therein. A read-out control circuit (not shown) supplies an address signal to the memory 103, and the bit strings 121 are read out from the memory 103 in a different order.
The memory 103 is connected to a decoder 108, and the bit strings 121 are supplied to the decoder 108. The bit strings 121 are decoded. The decoder 108 outputs a reproducing signal 181 for reproducing a picture on a display (not shown). The decoder 108 is connected to frame memories 191/192/193, and the frame memories 191/192/193 stores pieces of video data information representative of reference pictures, i.e., I-picture and P-picture and other pieces of video data information representative of B-picture.
Subsequently, description is made on the predictive method for the MPEG system. FIG. 2 illustrates a GOP (Group Of Picture). Plural frames 0, 1, 2, 3, 4, 5, 6, . . . successively appear, and each frame contains pieces of video data information representative of a picture. The frame number is increased with time. The frame 6 is next to the frame 5, and the pictures are successively reproduced in the order of frame number. xe2x80x9cIxe2x80x9d, xe2x80x9cBxe2x80x9d and xe2x80x9cPxe2x80x9d are selectively assigned to the frames 0, 1, 2, 3, 4, 5, 6 . . . , and indicate kinds of pictures. The picture labeled with xe2x80x9cPxe2x80x9d is referred to as xe2x80x9cP-picturexe2x80x9d, and the picture labeled with xe2x80x9cIxe2x80x9d and the picture labeled with xe2x80x9cBxe2x80x9d are referred to as xe2x80x9cI-picturexe2x80x9d and xe2x80x9cB-picturexe2x80x9d, respectively. The I-picture is coded by using pieces of data information only in the frame. P-picture or I-picture is to be called as a core picture. The P-picture is a kind of unidirectional predictive coded picture, and is coded by using an I-picture or a P-picture three frames before it as a reference picture. For example, the P-picture in the frame 6 is unidirectionally coded through the predictive encoding technique by using the P-picture in the frame 3 as the reference picture. The B-picture features the MPEG system. The B-picture is a kind of bidirectional predictive coded picture, and is coded by using the pictures in both sides thereof as the reference picture. For example, the B-picture is the frame 5 is bidirectionally coded through the predictive encoding technique by using the P-pictures in the frames 3 and 6.
When the pictures in the frames 0 to 6 are coded, bit strings I0, P3, B1, B2, P6, B4 and B5 are arranged as shown in FIG. 3. The reference I0 means the bit string representative of the I-picture in the frame 0, and the reference P3 means the bit string representative of the P-picture in the frame 3. The reference B1 means the bit string representative of the B-picture in the frame 1. Thus, the bit strings I0-B5 are arranged differently from the frames 0 to 6 in order to effectively decode the bit strings.
Turning back to FIG. 1, the prior art video image decoder reproduces the pictures as follows. The read-out circuit 102 reads out pieces of data information from the optical disk 101, and supplies the bit strings 121 to the memory 103. The bit strings 121 follow the order of frames 0, 1, 2, 3, 4, 5, 6, . . . , i.e., I0, B1, B2, P3, B4, B5, P6, . . . The bit strings 121 are written into the memory 103, and are rearranged into the order shown in FIG. 3 in the memory 103.
Subsequently, the bit strings 121 are sequentially read out from the memory 103. The bit strings are arranged as I0, P3, B1, B2, P6, B4, B5, . . . as shown in FIG. 3. The bit strings I0, P3, B1, B2, P6, B4, B5, . . . are successively supplied to the decoder 108, and are decoded as the reproducing signal 181. While the decoder 108 is decoding the bit strings, the bit strings I0, P3, B1, B2, P6, B4, B5, . . . are processed as follows. Firstly, the bit string I0 is decoded, and the decoded signal DI0 is stored in the frame memory 191. The decoded signal DI0 is output as the reproducing signal 181. The decoder 108 refers to the decoded signal DI0 representative of the I-picture stored in the frame memory 191, and the bit string P3 is decoded to decoded signal DP3. The decoded signal DP3 is stored in the frame memory 192, and is output as the reproducing signal 181. Subsequently, the decoder 108 refers to the decoded signals DI0 and DP3 stored in the frame memories 191/192, and the bit string B1 is decoded to a decoded signal DB1. The decoded signal DB1 is stored in the frame memory 193, and forms a part of the reproducing signal 181. The decoder 108 also refers to the decoded signals DI0 and DP3 stored in the frame memories 191/192, and the bit string B2 is decoded to a decoded signal DB2. The decoded signal DB2 is stored in the frame memory 193, and forms a part of the reproducing signal 181. The decoder 108 refers to the decoded signal DP3 stored in the frame memory 192, and the bit string P6 is decoded to a decoded signal DP6. The decoded signal DP6 is stored in the frame memory 191, because the decoded signal DP0 has been already unnecessary.
The prior art video decoder effectively reproduces the reproducing signal 181 from the single data stream read out from the optical disk 101. However, the circuit arrangement of the prior art video decoder is less pertinent to the reproduction of pictures from plural data streams. FIG. 4 illustrates three pictures reproduced on a display 195. The picture on the left side of the display 195 is reproduced from a compressed data stream A, and the pictures on the right side are reproduced from compressed data streams B and C, respectively. The MPEG decoder is used for the compressed data streams A, B and C, and the compressed data streams contain bit strings representative of B-pictures.
The three pictures are concurrently reproduced on the display 195 through the decoding shown in FIG. 5. Time passes from the left side to the right side. FIG. 5 shows xe2x80x9cFIELDxe2x80x9d, xe2x80x9cBIT STRING TO BE DECODEDxe2x80x9d, xe2x80x9cPICTURE ON DISPLAYxe2x80x9d, xe2x80x9cWRITE-IN FRAME MEMORYxe2x80x9d and xe2x80x9cREAD-OUT FRAME MEMORYxe2x80x9d for the compressed data stream A. xe2x80x9cWRITE-IN FRAME MEMORYxe2x80x9d and xe2x80x9cREAD-OUT FRAME MEMORYxe2x80x9d mean the frame memory in which a decoded signal is to be written and the frame memory from which a decoded signal is to be read out, respectively. A picture stored in a frame is reproduced on a display through two scannings. Frame xe2x80x9c1xe2x80x9d and frame xe2x80x9c2xe2x80x9d are indicative of the first scanning and the second scanning, respectively, and are corresponding to xe2x80x9ctopxe2x80x9d of the picture to be displayed and xe2x80x9cbottomxe2x80x9d of the picture to be displayed, respectively. Although the second row xe2x80x9cBIT STRINGS TO BE DECODEDxe2x80x9d indicates the bit strings of the compressed data stream A, the bit strings of the compressed data stream B and the bit strings of the compressed data stream C are also decoded in two third of each frame in a time sharing fashion. Similarly, the third row xe2x80x9cPICTURE ON DISPLAYxe2x80x9d indicates the pictures reproduced from the compressed data stream A, and FIG. 5 is silent to the pictures reproduced from the compressed data stream B and the pictures reproduced from the compressed data stream C. However, the pictures reproduced from the compressed data stream B and the pictures reproduced from the compressed data stream C are concurrently reproduced on the display 195 as shown in FIG. 4. In the following description, the second field xe2x80x9c2xe2x80x9d of a frame and the first field xe2x80x9c1xe2x80x9d of the next frame are assigned to a bit string to be decoded, and the total time period is referred to as xe2x80x9cdecoding periodxe2x80x9d. A time period assigned to each frame is referred to as xe2x80x9cframe periodxe2x80x9d. An upper portion of a picture is labeled with a reference designating the associated bit string plus xe2x80x9ctopxe2x80x9d, and a lower portion of the picture is labeled with the reference plus xe2x80x9cbottomxe2x80x9d.
The bit string I0 of the data stream A is decoded in the first decoding period, i.e., field xe2x80x9c2xe2x80x9d of the first frame and field xe2x80x9c1xe2x80x9d of the second frame, and the decoded signal DI0 is stored in the frame memory A0. The bit string P3 is decoded in the second decoding period, i.e., field xe2x80x9c2xe2x80x9d of the second frame and field xe2x80x9c1xe2x80x9d of the third frame, and the decoded signal DP3 is written into the frame memory A1. The decoded signal DI0 representative of an upper portion I0top of the picture is read out form the frame memory A0, and the upper portion I0top is reproduced on the display 195 in field xe2x80x9c1xe2x80x9d of the third frame or the latter half of the second decoding period.
In the third decoding period, the bit string B1 is decoded, and the decoded signal DB1 is written into the frame memory A2. The decoded signal DI0 representative of a lower portion I0botom is read out from the frame memory A0, and the lower portion I0botom is reproduced on the display 195. Further, the decoded signal DB1 representative of an upper portion B1top is read out from the frame memory A2, and the upper portion B1top is reproduced on the display 195.
The fourth decoding period is troublesome. In the first half X of the fourth decoding period, it is necessary to concurrently carry out a data read-out and a data write-in. In detail, the bit string B2 is decoded, and the decoded signal DB2 is written into the frame memory A2. The decoded signal DB1 representative of the lower portion B1botom is read out from the frame memory A2, and the lower portion B1bottom is reproduced on the display 195. Thus, the data read-out and the data write-in are concurrently carried out in the first stage of the fourth decoding period. However, the data write-in is completed earlier than the data read-out. The read-out of the decoded signal DB2 and the reproduction of the picture start from the latter half of the third decoding period, and are carried out on the picture before the write-in and the picture after the write-in. In other words, The decoded signal DB1 is to be maintained until X-. However, the decoded signal DB1 is replaced with the decoded signal DB2 at time X. The replacement damages the decoded signal DB1, and the picture on the display 195 is disturbed. The reason for the disturbance is that only a third of the decoding period is assigned to the bit string of the data stream A. The time period is too short to carry out the data read-out and the data write-in. If three MPEG video decoders arc prepared for the three data streams A, B and C, the parallel decoding eliminates the above-described disturbance from the pictures. However, the circuit components are increased, and the manufacturer suffers from great production cost.
FIG. 6 is the prior art MPEG decoding system of the type having plural decoders. Three data streams A, B and C are supplied to MPEG video decoders 26/27/28, respectively, and the MPEG video decoders 26/27/28 are respectively associated with frame memories A0/A1/A2, frame memories B0/ B1/B2 and frame memories C0/C1/C2. The frame memories A0-A2, B0-B2 and C0-C2 as a whole constitute a memory 2, and the memory 2 is connected to a display 3. A synchronous signal generator 4 supplies a synchronous signal to MPEG video controllers 26a/27a/28a forming parts of the MPEG video decoders 26/27/28, respectively. Each of the MPEG video decoders 26/27/28 further includes a variable-length decoder VLD, an inverse quantizer IQ, two-dimensional inverse discrete cosine converter IDCT and a motion compensator MC.
The MPEG video decoder 26 stores the bit strings representative of core pictures and the bit strings representative of B-pictures in the frame memory A0 or A1 and the frame memory A2, respectively, for the data stream A. The MPEG video decoder 27 stores the bit strings representative of core pictures and the bit strings representative of B-pictures in the frame memory B0 or B1 and the frame memory B2, respectively, for the data stream B. The MPEG video decoder 28 stores the bit strings representative of core pictures and the bit strings representative of B-pictures in the frame memory C0 or C1 and the frame memory C2, respectively, for the data stream C. Thus, the MPEG video decoders 26/27/28 process the data streams A, B and C in parallel, and three pictures are reproduced on the display 3.
It is therefore an important object of the present invention to provide an MPEG decoder, which concurrently reproduces plural pictures on a display without disturbance of the picture.
It is also an important object of the present invention to provide a method for concurrently reproducing plural stable pictures.
It is also an important object of the present invention to provide an information storage medium for storing programmed instructions representative of the method.
To accomplish the object, the present invention proposes to prepare frame memories more than the frame memories required for producing any piece of video data information.
In accordance with one aspect of the present invention, there is provided a decoding system for producing pieces of video data information representative of plural kinds of pictures to be reproduced on a screen of a display from compressed data streams having bit strings representative of the plural kinds of pictures and coded through an inter-frame predictive coding technique, and the decoding system comprises plural memories respectively assigned to the compressed data streams, each of the plural memories having plural frame memories more than frame memories required for producing any one of the pieces of video data information, a decoding section selectively supplied with the bit strings of the compressed data streams and producing output signals representative of the pieces of video data information and a first control signal representative of one of the plural kinds of picture represented by the bit string just processed, an information processor connected to the decoding section, producing the pieces of video data information from the output signals or through an information processing between the pieces of video data information represented by the output signals and the pieces of video data information already stored in the plural memories and storing each of the pieces of video data information in one of the plural frame memories of the associated one of the plural memories and a controller responsive to the first control signal so as to select one of the plural frame memories of associated one of the plural memories and instructing the information processor to transfer the piece of video data information produced from the bit string just processed to the aforesaid one of the plural frame memories for replacing an invalid piece of video data information already stored therein with the piece of video data information.
In accordance with another aspect of the present invention, there is provided a method for concurrently reproducing plural pictures on a screen of a display comprising the steps of a) selectively supplying plural bit strings respectively extracted from plural compressed data streams to a decoding section in a time sharing fashion for producing pieces of video data information representative of the plural pictures in a first frame period, b) selecting unused frame memories from plural memories each consisting of plural frame memories more than frame memories required for producing one of the pieces of video data information representative of one of the plural pictures in the first frame period, c) storing the pieces of video data information in the unused frame memories in the first frame period and d) transferring the pieces of video data information from the unused frame memories to a display in a second frame period after the first frame period.
In accordance with yet another aspect of the present invention, there is provided an information storage medium for storing a set of programmed instructions to be executed by a data processor, the set of programmed instructions realizes a method for concurrently reproducing plural pictures on a screen of a display comprising the steps of a) selectively supplying plural bit strings respectively extracted from plural compressed data streams to a decoding section in a time sharing fashion for producing pieces of video data information representative of the plural pictures in a first frame period, b) selecting unused frame memories from plural memories each consisting of plural frame memories more than frame memories required for producing one of the pieces of video data information representative of one of the plural pictures in the first frame period, c) storing the pieces of video data information in the unused frame memories in the first frame period and d) transferring the pieces of video data information from the unused frame memories to a display in a second frame period after the first frame period.